Computerized development tools are increasingly becoming more visually oriented. For example, information can be displayed in a graph instead of as text. An easy-to-use shape description language helps a tool designer to more easily provide a visual aspect to computerized presentations. Scalable Vector Graphics (SVG) is an Extensible Markup Language (XML) language for describing two-dimensional graphics. SVG provides a good foundation for visual expression because SVG allows designers to describe visual elements in an XML format.
However, several limitations affect SVG. SVG visual elements are static, in that there are no behaviors associated with SVG visual elements. Also, the programming model for SVG is based on the XML Document Object Model (DOM). Consequently, SVG graphics are manipulated through the manipulation of nodes in an SVG DOM tree. No hooks exist for attaching executable code to the SVG DOM tree.